package br.edu.senai.view;

import br.edu.senai.controller.ClienteDAO;
import br.edu.senai.controller.ResultadoDAO;
import br.edu.senai.model.Cliente;
import br.edu.senai.model.Mes;
import br.edu.senai.model.Parametro;
import br.edu.senai.model.Resultado;
import java.util.Calendar;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean
@ViewScoped
public class RelatoriosBean {

    private final ClienteDAO cdao;
    private final ResultadoDAO rdao;
    private Cliente cliente;
    private Mes mes;
    private String ano;
    private List<Resultado> lr;

    public RelatoriosBean() {
        cdao = new ClienteDAO();
        rdao = new ResultadoDAO();
        cliente = new Cliente();
        ano = Calendar.getInstance().get(Calendar.YEAR) + "";
        lr = rdao.listar();
    }

    public List<Cliente> getClientes() {
        return cdao.listar();
    }

    public Mes[] getMeses() {
        return Mes.values();
    }

    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    public Mes getMes() {
        return mes;
    }

    public void setMes(Mes mes) {
        this.mes = mes;
    }

    public String getAno() {
        return ano;
    }

    public void setAno(String ano) {
        this.ano = ano;
    }

    public String resultado(Parametro parametro) {
        try {
            for (Resultado resultado : lr) {
                if (resultado.getMedicao().getCliente().equals(cliente)
                        && resultado.getMedicao().getAno() == Integer.parseInt(ano)
                        && resultado.getMedicao().getMes().equals(mes)
                        && resultado.getParametro().equals(parametro)) {
                    return resultado.getValor() + "";
                }
            }
        } catch (Exception e) {
            return "";
        }
        return "";
    }
}
